/*
 * Copyright (C) 2014-2017 The Android Open Source Project
 *               2014-2017 Intel Corporation
 * Copyright (c) 2017, Fuzhou Rockchip Electronics Co., Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * ! Do not edit this file directly !
 * ! Do not include this file directly !
 *
 * Generated automatically from metadata_info_autogen.mako
 * This file logically belongs to Metadata.h
 * check readme.txt to understand how this is used
 */


const metadata_value_t android_blackLevel_lock_values[] = {
                 {"OFF", ANDROID_BLACK_LEVEL_LOCK_OFF },
                 {"ON", ANDROID_BLACK_LEVEL_LOCK_ON },
         };

const metadata_value_t android_colorCorrection_aberrationMode_values[] = {
                 {"OFF", ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF },
                 {"FAST", ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY },
         };

const metadata_value_t android_colorCorrection_mode_values[] = {
                 {"TRANSFORM_MATRIX", ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX },
                 {"FAST", ANDROID_COLOR_CORRECTION_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY },
         };

const metadata_value_t android_control_aeAntibandingMode_values[] = {
                 {"OFF", ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF },
                 {"50HZ", ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ },
                 {"60HZ", ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ },
                 {"AUTO", ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO },
         };

const metadata_value_t android_control_aeLock_values[] = {
                 {"OFF", ANDROID_CONTROL_AE_LOCK_OFF },
                 {"ON", ANDROID_CONTROL_AE_LOCK_ON },
         };

const metadata_value_t android_control_aeLockAvailable_values[] = {
                 {"FALSE", ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE },
                 {"TRUE", ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE },
         };

const metadata_value_t android_control_aeMode_values[] = {
                 {"OFF", ANDROID_CONTROL_AE_MODE_OFF },
                 {"ON", ANDROID_CONTROL_AE_MODE_ON },
                 {"ON_AUTO_FLASH", ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH },
                 {"ON_ALWAYS_FLASH", ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH },
                 {"ON_AUTO_FLASH_REDEYE", ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE },
         };

const metadata_value_t android_control_aePrecaptureTrigger_values[] = {
                 {"IDLE", ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE },
                 {"START", ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START },
                 {"CANCEL", ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL },
         };

const metadata_value_t android_control_aeState_values[] = {
                 {"INACTIVE", ANDROID_CONTROL_AE_STATE_INACTIVE },
                 {"SEARCHING", ANDROID_CONTROL_AE_STATE_SEARCHING },
                 {"CONVERGED", ANDROID_CONTROL_AE_STATE_CONVERGED },
                 {"LOCKED", ANDROID_CONTROL_AE_STATE_LOCKED },
                 {"FLASH_REQUIRED", ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED },
                 {"PRECAPTURE", ANDROID_CONTROL_AE_STATE_PRECAPTURE },
         };

const metadata_value_t android_control_afMode_values[] = {
                 {"OFF", ANDROID_CONTROL_AF_MODE_OFF },
                 {"AUTO", ANDROID_CONTROL_AF_MODE_AUTO },
                 {"MACRO", ANDROID_CONTROL_AF_MODE_MACRO },
                 {"CONTINUOUS_VIDEO", ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO },
                 {"CONTINUOUS_PICTURE", ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE },
                 {"EDOF", ANDROID_CONTROL_AF_MODE_EDOF },
         };

const metadata_value_t android_control_afState_values[] = {
                 {"INACTIVE", ANDROID_CONTROL_AF_STATE_INACTIVE },
                 {"PASSIVE_SCAN", ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN },
                 {"PASSIVE_FOCUSED", ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED },
                 {"ACTIVE_SCAN", ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN },
                 {"FOCUSED_LOCKED", ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED },
                 {"NOT_FOCUSED_LOCKED", ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED },
                 {"PASSIVE_UNFOCUSED", ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED },
         };

const metadata_value_t android_control_afTrigger_values[] = {
                 {"IDLE", ANDROID_CONTROL_AF_TRIGGER_IDLE },
                 {"START", ANDROID_CONTROL_AF_TRIGGER_START },
                 {"CANCEL", ANDROID_CONTROL_AF_TRIGGER_CANCEL },
         };

const metadata_value_t android_control_awbLock_values[] = {
                 {"OFF", ANDROID_CONTROL_AWB_LOCK_OFF },
                 {"ON", ANDROID_CONTROL_AWB_LOCK_ON },
         };

const metadata_value_t android_control_awbLockAvailable_values[] = {
                 {"FALSE", ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE },
                 {"TRUE", ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE },
         };

const metadata_value_t android_control_awbMode_values[] = {
                 {"OFF", ANDROID_CONTROL_AWB_MODE_OFF },
                 {"AUTO", ANDROID_CONTROL_AWB_MODE_AUTO },
                 {"INCANDESCENT", ANDROID_CONTROL_AWB_MODE_INCANDESCENT },
                 {"FLUORESCENT", ANDROID_CONTROL_AWB_MODE_FLUORESCENT },
                 {"WARM_FLUORESCENT", ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT },
                 {"DAYLIGHT", ANDROID_CONTROL_AWB_MODE_DAYLIGHT },
                 {"CLOUDY_DAYLIGHT", ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT },
                 {"TWILIGHT", ANDROID_CONTROL_AWB_MODE_TWILIGHT },
                 {"SHADE", ANDROID_CONTROL_AWB_MODE_SHADE },
         };

const metadata_value_t android_control_awbState_values[] = {
                 {"INACTIVE", ANDROID_CONTROL_AWB_STATE_INACTIVE },
                 {"SEARCHING", ANDROID_CONTROL_AWB_STATE_SEARCHING },
                 {"CONVERGED", ANDROID_CONTROL_AWB_STATE_CONVERGED },
                 {"LOCKED", ANDROID_CONTROL_AWB_STATE_LOCKED },
         };

const metadata_value_t android_control_captureIntent_values[] = {
                 {"CUSTOM", ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM },
                 {"PREVIEW", ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW },
                 {"STILL_CAPTURE", ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE },
                 {"VIDEO_RECORD", ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD },
                 {"VIDEO_SNAPSHOT", ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT },
                 {"ZERO_SHUTTER_LAG", ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG },
                 {"MANUAL", ANDROID_CONTROL_CAPTURE_INTENT_MANUAL },
         };

const metadata_value_t android_control_effectMode_values[] = {
                 {"OFF", ANDROID_CONTROL_EFFECT_MODE_OFF },
                 {"MONO", ANDROID_CONTROL_EFFECT_MODE_MONO },
                 {"NEGATIVE", ANDROID_CONTROL_EFFECT_MODE_NEGATIVE },
                 {"SOLARIZE", ANDROID_CONTROL_EFFECT_MODE_SOLARIZE },
                 {"SEPIA", ANDROID_CONTROL_EFFECT_MODE_SEPIA },
                 {"POSTERIZE", ANDROID_CONTROL_EFFECT_MODE_POSTERIZE },
                 {"WHITEBOARD", ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD },
                 {"BLACKBOARD", ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD },
                 {"AQUA", ANDROID_CONTROL_EFFECT_MODE_AQUA },
         };

const metadata_value_t android_control_mode_values[] = {
                 {"OFF", ANDROID_CONTROL_MODE_OFF },
                 {"AUTO", ANDROID_CONTROL_MODE_AUTO },
                 {"USE_SCENE_MODE", ANDROID_CONTROL_MODE_USE_SCENE_MODE },
                 {"OFF_KEEP_STATE", ANDROID_CONTROL_MODE_OFF_KEEP_STATE },
         };

const metadata_value_t android_control_sceneMode_values[] = {
                 {"DISABLED", ANDROID_CONTROL_SCENE_MODE_DISABLED },
                 {"FACE_PRIORITY", ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY },
                 {"ACTION", ANDROID_CONTROL_SCENE_MODE_ACTION },
                 {"PORTRAIT", ANDROID_CONTROL_SCENE_MODE_PORTRAIT },
                 {"LANDSCAPE", ANDROID_CONTROL_SCENE_MODE_LANDSCAPE },
                 {"NIGHT", ANDROID_CONTROL_SCENE_MODE_NIGHT },
                 {"NIGHT_PORTRAIT", ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT },
                 {"THEATRE", ANDROID_CONTROL_SCENE_MODE_THEATRE },
                 {"BEACH", ANDROID_CONTROL_SCENE_MODE_BEACH },
                 {"SNOW", ANDROID_CONTROL_SCENE_MODE_SNOW },
                 {"SUNSET", ANDROID_CONTROL_SCENE_MODE_SUNSET },
                 {"STEADYPHOTO", ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO },
                 {"FIREWORKS", ANDROID_CONTROL_SCENE_MODE_FIREWORKS },
                 {"SPORTS", ANDROID_CONTROL_SCENE_MODE_SPORTS },
                 {"PARTY", ANDROID_CONTROL_SCENE_MODE_PARTY },
                 {"CANDLELIGHT", ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT },
                 {"BARCODE", ANDROID_CONTROL_SCENE_MODE_BARCODE },
                 {"HIGH_SPEED_VIDEO", ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO },
                 {"HDR", ANDROID_CONTROL_SCENE_MODE_HDR },
                 {"FACE_PRIORITY_LOW_LIGHT", ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT },
         };

const metadata_value_t android_control_videoStabilizationMode_values[] = {
                 {"OFF", ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF },
                 {"ON", ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON },
         };

const metadata_value_t android_demosaic_mode_values[] = {
                 {"FAST", ANDROID_DEMOSAIC_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_DEMOSAIC_MODE_HIGH_QUALITY },
         };

const metadata_value_t android_depth_availableDepthStreamConfigurations_values[] = {
                 {"OUTPUT", ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT },
                 {"INPUT", ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT },
         };

const metadata_value_t android_depth_depthIsExclusive_values[] = {
                 {"FALSE", ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE },
                 {"TRUE", ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE },
         };

const metadata_value_t android_edge_mode_values[] = {
                 {"OFF", ANDROID_EDGE_MODE_OFF },
                 {"FAST", ANDROID_EDGE_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_EDGE_MODE_HIGH_QUALITY },
                 {"ZERO_SHUTTER_LAG", ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG },
         };

const metadata_value_t android_flash_info_available_values[] = {
                 {"FALSE", ANDROID_FLASH_INFO_AVAILABLE_FALSE },
                 {"TRUE", ANDROID_FLASH_INFO_AVAILABLE_TRUE },
         };

const metadata_value_t android_flash_mode_values[] = {
                 {"OFF", ANDROID_FLASH_MODE_OFF },
                 {"SINGLE", ANDROID_FLASH_MODE_SINGLE },
                 {"TORCH", ANDROID_FLASH_MODE_TORCH },
         };

const metadata_value_t android_flash_state_values[] = {
                 {"UNAVAILABLE", ANDROID_FLASH_STATE_UNAVAILABLE },
                 {"CHARGING", ANDROID_FLASH_STATE_CHARGING },
                 {"READY", ANDROID_FLASH_STATE_READY },
                 {"FIRED", ANDROID_FLASH_STATE_FIRED },
                 {"PARTIAL", ANDROID_FLASH_STATE_PARTIAL },
         };

const metadata_value_t android_hotPixel_mode_values[] = {
                 {"OFF", ANDROID_HOT_PIXEL_MODE_OFF },
                 {"FAST", ANDROID_HOT_PIXEL_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY },
         };

const metadata_value_t android_info_supportedHardwareLevel_values[] = {
                 {"LIMITED", ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED },
                 {"FULL", ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL },
                 {"LEGACY", ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY },
         };

const metadata_value_t android_led_availableLeds_values[] = {
                 {"TRANSMIT", ANDROID_LED_AVAILABLE_LEDS_TRANSMIT },
         };

const metadata_value_t android_led_transmit_values[] = {
                 {"OFF", ANDROID_LED_TRANSMIT_OFF },
                 {"ON", ANDROID_LED_TRANSMIT_ON },
         };

const metadata_value_t android_lens_facing_values[] = {
                 {"FRONT", ANDROID_LENS_FACING_FRONT },
                 {"BACK", ANDROID_LENS_FACING_BACK },
                 {"EXTERNAL", ANDROID_LENS_FACING_EXTERNAL },
         };

const metadata_value_t android_lens_info_focusDistanceCalibration_values[] = {
                 {"UNCALIBRATED", ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED },
                 {"APPROXIMATE", ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE },
                 {"CALIBRATED", ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED },
         };

const metadata_value_t android_lens_opticalStabilizationMode_values[] = {
                 {"OFF", ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF },
                 {"ON", ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON },
         };

const metadata_value_t android_lens_state_values[] = {
                 {"STATIONARY", ANDROID_LENS_STATE_STATIONARY },
                 {"MOVING", ANDROID_LENS_STATE_MOVING },
         };

const metadata_value_t android_noiseReduction_mode_values[] = {
                 {"OFF", ANDROID_NOISE_REDUCTION_MODE_OFF },
                 {"FAST", ANDROID_NOISE_REDUCTION_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY },
                 {"MINIMAL", ANDROID_NOISE_REDUCTION_MODE_MINIMAL },
                 {"ZERO_SHUTTER_LAG", ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG },
         };

const metadata_value_t android_quirks_partialResult_values[] = {
                 {"FINAL", ANDROID_QUIRKS_PARTIAL_RESULT_FINAL },
                 {"PARTIAL", ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL },
         };

const metadata_value_t android_request_availableCapabilities_values[] = {
                 {"BACKWARD_COMPATIBLE", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE },
                 {"MANUAL_SENSOR", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR },
                 {"MANUAL_POST_PROCESSING", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING },
                 {"RAW", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW },
                 {"PRIVATE_REPROCESSING", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING },
                 {"READ_SENSOR_SETTINGS", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS },
                 {"BURST_CAPTURE", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE },
                 {"YUV_REPROCESSING", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING },
                 {"DEPTH_OUTPUT", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT },
                 {"CONSTRAINED_HIGH_SPEED_VIDEO", ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO },
         };

const metadata_value_t android_request_metadataMode_values[] = {
                 {"NONE", ANDROID_REQUEST_METADATA_MODE_NONE },
                 {"FULL", ANDROID_REQUEST_METADATA_MODE_FULL },
         };

const metadata_value_t android_request_type_values[] = {
                 {"CAPTURE", ANDROID_REQUEST_TYPE_CAPTURE },
                 {"REPROCESS", ANDROID_REQUEST_TYPE_REPROCESS },
         };

const metadata_value_t android_scaler_availableFormats_values[] = {
                 {"RAW16", ANDROID_SCALER_AVAILABLE_FORMATS_RAW16 },
                 {"RAW_OPAQUE", ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE },
                 {"YV12", ANDROID_SCALER_AVAILABLE_FORMATS_YV12 },
                 {"YCrCb_420_SP", ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP },
                 {"IMPLEMENTATION_DEFINED", ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED },
                 {"YCbCr_420_888", ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 },
                 {"BLOB", ANDROID_SCALER_AVAILABLE_FORMATS_BLOB },
         };

const metadata_value_t android_scaler_availableStreamConfigurations_values[] = {
                 {"OUTPUT", ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT },
                 {"INPUT", ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT },
         };

const metadata_value_t android_scaler_croppingType_values[] = {
                 {"CENTER_ONLY", ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY },
                 {"FREEFORM", ANDROID_SCALER_CROPPING_TYPE_FREEFORM },
         };

const metadata_value_t android_sensor_info_colorFilterArrangement_values[] = {
                 {"RGGB", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB },
                 {"GRBG", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG },
                 {"GBRG", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG },
                 {"BGGR", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR },
                 {"RGB", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB },
         };

const metadata_value_t android_sensor_info_lensShadingApplied_values[] = {
                 {"FALSE", ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE },
                 {"TRUE", ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE },
         };

const metadata_value_t android_sensor_info_timestampSource_values[] = {
                 {"UNKNOWN", ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN },
                 {"REALTIME", ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME },
         };

const metadata_value_t android_sensor_referenceIlluminant1_values[] = {
                 {"DAYLIGHT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT },
                 {"FLUORESCENT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT },
                 {"TUNGSTEN", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN },
                 {"FLASH", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH },
                 {"FINE_WEATHER", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER },
                 {"CLOUDY_WEATHER", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER },
                 {"SHADE", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE },
                 {"DAYLIGHT_FLUORESCENT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT },
                 {"DAY_WHITE_FLUORESCENT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT },
                 {"COOL_WHITE_FLUORESCENT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT },
                 {"WHITE_FLUORESCENT", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT },
                 {"STANDARD_A", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A },
                 {"STANDARD_B", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B },
                 {"STANDARD_C", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C },
                 {"D55", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55 },
                 {"D65", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65 },
                 {"D75", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75 },
                 {"D50", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50 },
                 {"ISO_STUDIO_TUNGSTEN", ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN },
         };

const metadata_value_t android_sensor_testPatternMode_values[] = {
                 {"OFF", ANDROID_SENSOR_TEST_PATTERN_MODE_OFF },
                 {"SOLID_COLOR", ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR },
                 {"COLOR_BARS", ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS },
                 {"COLOR_BARS_FADE_TO_GRAY", ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY },
                 {"PN9", ANDROID_SENSOR_TEST_PATTERN_MODE_PN9 },
                 {"CUSTOM1", ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1 },
         };

const metadata_value_t android_shading_mode_values[] = {
                 {"OFF", ANDROID_SHADING_MODE_OFF },
                 {"FAST", ANDROID_SHADING_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_SHADING_MODE_HIGH_QUALITY },
         };

const metadata_value_t android_statistics_faceDetectMode_values[] = {
                 {"OFF", ANDROID_STATISTICS_FACE_DETECT_MODE_OFF },
                 {"SIMPLE", ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE },
                 {"FULL", ANDROID_STATISTICS_FACE_DETECT_MODE_FULL },
         };

const metadata_value_t android_statistics_histogramMode_values[] = {
                 {"OFF", ANDROID_STATISTICS_HISTOGRAM_MODE_OFF },
                 {"ON", ANDROID_STATISTICS_HISTOGRAM_MODE_ON },
         };

const metadata_value_t android_statistics_hotPixelMapMode_values[] = {
                 {"OFF", ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF },
                 {"ON", ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON },
         };

const metadata_value_t android_statistics_lensShadingMapMode_values[] = {
                 {"OFF", ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF },
                 {"ON", ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON },
         };

const metadata_value_t android_statistics_sceneFlicker_values[] = {
                 {"NONE", ANDROID_STATISTICS_SCENE_FLICKER_NONE },
                 {"50HZ", ANDROID_STATISTICS_SCENE_FLICKER_50HZ },
                 {"60HZ", ANDROID_STATISTICS_SCENE_FLICKER_60HZ },
         };

const metadata_value_t android_statistics_sharpnessMapMode_values[] = {
                 {"OFF", ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF },
                 {"ON", ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON },
         };

const metadata_value_t android_sync_frameNumber_values[] = {
                 {"CONVERGING", ANDROID_SYNC_FRAME_NUMBER_CONVERGING },
                 {"UNKNOWN", ANDROID_SYNC_FRAME_NUMBER_UNKNOWN },
         };

const metadata_value_t android_sync_maxLatency_values[] = {
                 {"PER_FRAME_CONTROL", ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL },
                 {"UNKNOWN", ANDROID_SYNC_MAX_LATENCY_UNKNOWN },
         };

const metadata_value_t android_tonemap_mode_values[] = {
                 {"CONTRAST_CURVE", ANDROID_TONEMAP_MODE_CONTRAST_CURVE },
                 {"FAST", ANDROID_TONEMAP_MODE_FAST },
                 {"HIGH_QUALITY", ANDROID_TONEMAP_MODE_HIGH_QUALITY },
                 {"GAMMA_VALUE", ANDROID_TONEMAP_MODE_GAMMA_VALUE },
                 {"PRESET_CURVE", ANDROID_TONEMAP_MODE_PRESET_CURVE },
         };

const metadata_value_t android_tonemap_presetCurve_values[] = {
                 {"SRGB", ANDROID_TONEMAP_PRESET_CURVE_SRGB },
                 {"REC709", ANDROID_TONEMAP_PRESET_CURVE_REC709 },
         };


const metadata_value_t metadataNames[] = {
        {"colorCorrection.mode", ANDROID_COLOR_CORRECTION_MODE},
        {"colorCorrection.transform", ANDROID_COLOR_CORRECTION_TRANSFORM},
        {"colorCorrection.gains", ANDROID_COLOR_CORRECTION_GAINS},
        {"colorCorrection.aberrationMode", ANDROID_COLOR_CORRECTION_ABERRATION_MODE},
        {"control.aeAntibandingMode", ANDROID_CONTROL_AE_ANTIBANDING_MODE},
        {"control.aeExposureCompensation", ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION},
        {"control.aeLock", ANDROID_CONTROL_AE_LOCK},
        {"control.aeMode", ANDROID_CONTROL_AE_MODE},
        {"control.aeRegions", ANDROID_CONTROL_AE_REGIONS},
        {"control.aeTargetFpsRange", ANDROID_CONTROL_AE_TARGET_FPS_RANGE},
        {"control.aePrecaptureTrigger", ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER},
        {"control.afMode", ANDROID_CONTROL_AF_MODE},
        {"control.afRegions", ANDROID_CONTROL_AF_REGIONS},
        {"control.afTrigger", ANDROID_CONTROL_AF_TRIGGER},
        {"control.awbLock", ANDROID_CONTROL_AWB_LOCK},
        {"control.awbMode", ANDROID_CONTROL_AWB_MODE},
        {"control.awbRegions", ANDROID_CONTROL_AWB_REGIONS},
        {"control.captureIntent", ANDROID_CONTROL_CAPTURE_INTENT},
        {"control.effectMode", ANDROID_CONTROL_EFFECT_MODE},
        {"control.mode", ANDROID_CONTROL_MODE},
        {"control.sceneMode", ANDROID_CONTROL_SCENE_MODE},
        {"control.videoStabilizationMode", ANDROID_CONTROL_VIDEO_STABILIZATION_MODE},
        {"control.aePrecaptureId", ANDROID_CONTROL_AE_PRECAPTURE_ID},
        {"control.aeState", ANDROID_CONTROL_AE_STATE},
        {"control.afState", ANDROID_CONTROL_AF_STATE},
        {"control.afTriggerId", ANDROID_CONTROL_AF_TRIGGER_ID},
        {"control.awbState", ANDROID_CONTROL_AWB_STATE},
        {"demosaic.mode", ANDROID_DEMOSAIC_MODE},
        {"edge.mode", ANDROID_EDGE_MODE},
        {"edge.strength", ANDROID_EDGE_STRENGTH},
        {"flash.firingPower", ANDROID_FLASH_FIRING_POWER},
        {"flash.firingTime", ANDROID_FLASH_FIRING_TIME},
        {"flash.mode", ANDROID_FLASH_MODE},
        {"flash.state", ANDROID_FLASH_STATE},
        {"hotPixel.mode", ANDROID_HOT_PIXEL_MODE},
        {"jpeg.gpsCoordinates", ANDROID_JPEG_GPS_COORDINATES},
        {"jpeg.gpsProcessingMethod", ANDROID_JPEG_GPS_PROCESSING_METHOD},
        {"jpeg.gpsTimestamp", ANDROID_JPEG_GPS_TIMESTAMP},
        {"jpeg.orientation", ANDROID_JPEG_ORIENTATION},
        {"jpeg.quality", ANDROID_JPEG_QUALITY},
        {"jpeg.thumbnailQuality", ANDROID_JPEG_THUMBNAIL_QUALITY},
        {"jpeg.thumbnailSize", ANDROID_JPEG_THUMBNAIL_SIZE},
        {"jpeg.size", ANDROID_JPEG_SIZE},
        {"lens.aperture", ANDROID_LENS_APERTURE},
        {"lens.filterDensity", ANDROID_LENS_FILTER_DENSITY},
        {"lens.focalLength", ANDROID_LENS_FOCAL_LENGTH},
        {"lens.focusDistance", ANDROID_LENS_FOCUS_DISTANCE},
        {"lens.opticalStabilizationMode", ANDROID_LENS_OPTICAL_STABILIZATION_MODE},
        {"lens.poseRotation", ANDROID_LENS_POSE_ROTATION},
        {"lens.poseTranslation", ANDROID_LENS_POSE_TRANSLATION},
        {"lens.focusRange", ANDROID_LENS_FOCUS_RANGE},
        {"lens.state", ANDROID_LENS_STATE},
        {"lens.intrinsicCalibration", ANDROID_LENS_INTRINSIC_CALIBRATION},
        {"lens.radialDistortion", ANDROID_LENS_RADIAL_DISTORTION},
        {"noiseReduction.mode", ANDROID_NOISE_REDUCTION_MODE},
        {"noiseReduction.strength", ANDROID_NOISE_REDUCTION_STRENGTH},
        {"quirks.partialResult", ANDROID_QUIRKS_PARTIAL_RESULT},
        {"request.frameCount", ANDROID_REQUEST_FRAME_COUNT},
        {"request.id", ANDROID_REQUEST_ID},
        {"request.inputStreams", ANDROID_REQUEST_INPUT_STREAMS},
        {"request.metadataMode", ANDROID_REQUEST_METADATA_MODE},
        {"request.outputStreams", ANDROID_REQUEST_OUTPUT_STREAMS},
        {"request.type", ANDROID_REQUEST_TYPE},
        {"request.pipelineDepth", ANDROID_REQUEST_PIPELINE_DEPTH},
        {"scaler.cropRegion", ANDROID_SCALER_CROP_REGION},
        {"sensor.exposureTime", ANDROID_SENSOR_EXPOSURE_TIME},
        {"sensor.frameDuration", ANDROID_SENSOR_FRAME_DURATION},
        {"sensor.sensitivity", ANDROID_SENSOR_SENSITIVITY},
        {"sensor.timestamp", ANDROID_SENSOR_TIMESTAMP},
        {"sensor.temperature", ANDROID_SENSOR_TEMPERATURE},
        {"sensor.neutralColorPoint", ANDROID_SENSOR_NEUTRAL_COLOR_POINT},
        {"sensor.noiseProfile", ANDROID_SENSOR_NOISE_PROFILE},
        {"sensor.profileHueSatMap", ANDROID_SENSOR_PROFILE_HUE_SAT_MAP},
        {"sensor.profileToneCurve", ANDROID_SENSOR_PROFILE_TONE_CURVE},
        {"sensor.greenSplit", ANDROID_SENSOR_GREEN_SPLIT},
        {"sensor.testPatternData", ANDROID_SENSOR_TEST_PATTERN_DATA},
        {"sensor.testPatternMode", ANDROID_SENSOR_TEST_PATTERN_MODE},
        {"sensor.rollingShutterSkew", ANDROID_SENSOR_ROLLING_SHUTTER_SKEW},
        {"shading.mode", ANDROID_SHADING_MODE},
        {"shading.strength", ANDROID_SHADING_STRENGTH},
        {"statistics.faceDetectMode", ANDROID_STATISTICS_FACE_DETECT_MODE},
        {"statistics.histogramMode", ANDROID_STATISTICS_HISTOGRAM_MODE},
        {"statistics.sharpnessMapMode", ANDROID_STATISTICS_SHARPNESS_MAP_MODE},
        {"statistics.hotPixelMapMode", ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE},
        {"statistics.faceIds", ANDROID_STATISTICS_FACE_IDS},
        {"statistics.faceLandmarks", ANDROID_STATISTICS_FACE_LANDMARKS},
        {"statistics.faceRectangles", ANDROID_STATISTICS_FACE_RECTANGLES},
        {"statistics.faceScores", ANDROID_STATISTICS_FACE_SCORES},
        {"statistics.histogram", ANDROID_STATISTICS_HISTOGRAM},
        {"statistics.sharpnessMap", ANDROID_STATISTICS_SHARPNESS_MAP},
        {"statistics.lensShadingCorrectionMap", ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP},
        {"statistics.lensShadingMap", ANDROID_STATISTICS_LENS_SHADING_MAP},
        {"statistics.predictedColorGains", ANDROID_STATISTICS_PREDICTED_COLOR_GAINS},
        {"statistics.predictedColorTransform", ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM},
        {"statistics.sceneFlicker", ANDROID_STATISTICS_SCENE_FLICKER},
        {"statistics.hotPixelMap", ANDROID_STATISTICS_HOT_PIXEL_MAP},
        {"statistics.lensShadingMapMode", ANDROID_STATISTICS_LENS_SHADING_MAP_MODE},
        {"tonemap.curveBlue", ANDROID_TONEMAP_CURVE_BLUE},
        {"tonemap.curveGreen", ANDROID_TONEMAP_CURVE_GREEN},
        {"tonemap.curveRed", ANDROID_TONEMAP_CURVE_RED},
        {"tonemap.mode", ANDROID_TONEMAP_MODE},
        {"tonemap.gamma", ANDROID_TONEMAP_GAMMA},
        {"tonemap.presetCurve", ANDROID_TONEMAP_PRESET_CURVE},
        {"led.transmit", ANDROID_LED_TRANSMIT},
        {"blackLevel.lock", ANDROID_BLACK_LEVEL_LOCK},
        {"sync.frameNumber", ANDROID_SYNC_FRAME_NUMBER},
        {"reprocess.effectiveExposureFactor", ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR},
};

/*
 * \enum static_metadata_array_typedef
 *
 * Enumeration of the possible types that can be stored in array container of
 * static metadata tags. These are composite types made of basic types.
 * The parsing of those should be handled differently
 *
 */
enum static_metadata_array_typedef {
        TYPEDEF_NONE = 0,
        STREAM_CONFIGURATION_DURATION,
        RANGE_INT,
        HIGH_SPEED_VIDEO_CONFIGURATION,
        COLOR_SPACE_TRANSFORM,
        STREAM_CONFIGURATION,
        RANGE_LONG,
        SIZE_F,
        BOOLEAN,
        IMAGE_FORMAT,
        BLACK_LEVEL_PATTERN,
        ENUM_LIST,
        RECTANGLE,
        SIZE,
};


const metadata_tag_t android_static_tags_table[] = {
    // COLOR_CORRECTION
    {"colorCorrection.availableAberrationModes", ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES, TYPE_BYTE, android_colorCorrection_aberrationMode_values, 3, true, {-1,0,0}, ENUM_LIST },
    // CONTROL
    {"control.aeAvailableAntibandingModes", ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES, TYPE_BYTE, android_control_aeAntibandingMode_values, 4, true, {-1,0,0}, ENUM_LIST },
    {"control.aeAvailableModes", ANDROID_CONTROL_AE_AVAILABLE_MODES, TYPE_BYTE, android_control_aeMode_values, 5, true, {-1,0,0}, ENUM_LIST },
    {"control.aeAvailableTargetFpsRanges", ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, TYPE_INT32, nullptr, 0, true, {2,-1,0}, RANGE_INT },
    {"control.aeCompensationRange", ANDROID_CONTROL_AE_COMPENSATION_RANGE, TYPE_INT32, nullptr, 0, true, {2,0,0}, RANGE_INT },
    {"control.aeCompensationStep", ANDROID_CONTROL_AE_COMPENSATION_STEP, TYPE_RATIONAL, nullptr, 0, false, {0,0,0}, 0 },
    {"control.afAvailableModes", ANDROID_CONTROL_AF_AVAILABLE_MODES, TYPE_BYTE, android_control_afMode_values, 6, true, {-1,0,0}, ENUM_LIST },
    {"control.availableEffects", ANDROID_CONTROL_AVAILABLE_EFFECTS, TYPE_BYTE, android_control_effectMode_values, 9, true, {-1,0,0}, ENUM_LIST },
    {"control.availableSceneModes", ANDROID_CONTROL_AVAILABLE_SCENE_MODES, TYPE_BYTE, android_control_sceneMode_values, 20, true, {-1,0,0}, ENUM_LIST },
    {"control.availableVideoStabilizationModes", ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES, TYPE_BYTE, android_control_videoStabilizationMode_values, 2, true, {-1,0,0}, ENUM_LIST },
    {"control.awbAvailableModes", ANDROID_CONTROL_AWB_AVAILABLE_MODES, TYPE_BYTE, android_control_awbMode_values, 9, true, {-1,0,0}, ENUM_LIST },
    {"control.maxRegions", ANDROID_CONTROL_MAX_REGIONS, TYPE_INT32, nullptr, 0, true, {3,0,0}, 0 },
    {"control.sceneModeOverrides", ANDROID_CONTROL_SCENE_MODE_OVERRIDES, TYPE_BYTE, nullptr, 0, true, {3,-1,0}, 0 },
    {"control.availableHighSpeedVideoConfigurations", ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS, TYPE_INT32, nullptr, 0, true, {5,-1,0}, HIGH_SPEED_VIDEO_CONFIGURATION },
    {"control.aeLockAvailable", ANDROID_CONTROL_AE_LOCK_AVAILABLE, TYPE_BYTE, android_control_aeLockAvailable_values, 2, false, {0,0,0}, 0 },
    {"control.awbLockAvailable", ANDROID_CONTROL_AWB_LOCK_AVAILABLE, TYPE_BYTE, android_control_awbLockAvailable_values, 2, false, {0,0,0}, 0 },
    {"control.availableModes", ANDROID_CONTROL_AVAILABLE_MODES, TYPE_BYTE, android_control_mode_values, 4, true, {-1,0,0}, ENUM_LIST },
    // DEMOSAIC
    // EDGE
    {"edge.availableEdgeModes", ANDROID_EDGE_AVAILABLE_EDGE_MODES, TYPE_BYTE, android_edge_mode_values, 4, true, {-1,0,0}, ENUM_LIST },
    // FLASH
    {"flash.colorTemperature", ANDROID_FLASH_COLOR_TEMPERATURE, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"flash.maxEnergy", ANDROID_FLASH_MAX_ENERGY, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"flash.info.available", ANDROID_FLASH_INFO_AVAILABLE, TYPE_BYTE, android_flash_info_available_values, 2, false, {0,0,0}, 0 },
    {"flash.info.chargeDuration", ANDROID_FLASH_INFO_CHARGE_DURATION, TYPE_INT64, nullptr, 0, false, {0,0,0}, 0 },
    // HOT_PIXEL
    {"hotPixel.availableHotPixelModes", ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES, TYPE_BYTE, android_hotPixel_mode_values, 3, true, {-1,0,0}, ENUM_LIST },
    // JPEG
    {"jpeg.availableThumbnailSizes", ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES, TYPE_INT32, nullptr, 0, true, {2,-1,0}, SIZE },
    {"jpeg.maxSize", ANDROID_JPEG_MAX_SIZE, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    // LENS
    {"lens.facing", ANDROID_LENS_FACING, TYPE_BYTE, android_lens_facing_values, 3, false, {0,0,0}, 0 },
    {"lens.poseRotation", ANDROID_LENS_POSE_ROTATION, TYPE_FLOAT, nullptr, 0, true, {4,0,0}, 0 },
    {"lens.poseTranslation", ANDROID_LENS_POSE_TRANSLATION, TYPE_FLOAT, nullptr, 0, true, {3,0,0}, 0 },
    {"lens.intrinsicCalibration", ANDROID_LENS_INTRINSIC_CALIBRATION, TYPE_FLOAT, nullptr, 0, true, {5,0,0}, 0 },
    {"lens.radialDistortion", ANDROID_LENS_RADIAL_DISTORTION, TYPE_FLOAT, nullptr, 0, true, {6,0,0}, 0 },
    {"lens.info.availableApertures", ANDROID_LENS_INFO_AVAILABLE_APERTURES, TYPE_FLOAT, nullptr, 0, true, {-1,0,0}, 0 },
    {"lens.info.availableFilterDensities", ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES, TYPE_FLOAT, nullptr, 0, true, {-1,0,0}, 0 },
    {"lens.info.availableFocalLengths", ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS, TYPE_FLOAT, nullptr, 0, true, {-1,0,0}, 0 },
    {"lens.info.availableOpticalStabilization", ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION, TYPE_BYTE, android_lens_opticalStabilizationMode_values, 2, true, {-1,0,0}, ENUM_LIST },
    {"lens.info.hyperfocalDistance", ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE, TYPE_FLOAT, nullptr, 0, false, {0,0,0}, 0 },
    {"lens.info.minimumFocusDistance", ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE, TYPE_FLOAT, nullptr, 0, false, {0,0,0}, 0 },
    {"lens.info.shadingMapSize", ANDROID_LENS_INFO_SHADING_MAP_SIZE, TYPE_INT32, nullptr, 0, true, {2,0,0}, SIZE },
    {"lens.info.focusDistanceCalibration", ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION, TYPE_BYTE, android_lens_info_focusDistanceCalibration_values, 3, false, {0,0,0}, 0 },
    // NOISE_REDUCTION
    {"noiseReduction.availableNoiseReductionModes", ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES, TYPE_BYTE, android_noiseReduction_mode_values, 5, true, {-1,0,0}, ENUM_LIST },
    // QUIRKS
    {"quirks.meteringCropRegion", ANDROID_QUIRKS_METERING_CROP_REGION, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"quirks.triggerAfWithAuto", ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"quirks.useZslFormat", ANDROID_QUIRKS_USE_ZSL_FORMAT, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"quirks.usePartialResult", ANDROID_QUIRKS_USE_PARTIAL_RESULT, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    // REQUEST
    {"request.maxNumOutputStreams", ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS, TYPE_INT32, nullptr, 0, true, {3,0,0}, 0 },
    {"request.maxNumReprocessStreams", ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS, TYPE_INT32, nullptr, 0, true, {1,0,0}, 0 },
    {"request.maxNumInputStreams", ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"request.pipelineMaxDepth", ANDROID_REQUEST_PIPELINE_MAX_DEPTH, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"request.partialResultCount", ANDROID_REQUEST_PARTIAL_RESULT_COUNT, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"request.availableCapabilities", ANDROID_REQUEST_AVAILABLE_CAPABILITIES, TYPE_BYTE, android_request_availableCapabilities_values, 10, true, {-1,0,0}, 0 },
    {"request.availableRequestKeys", ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS, TYPE_INT32, nullptr, 0, true, {-1,0,0}, 0 },
    {"request.availableResultKeys", ANDROID_REQUEST_AVAILABLE_RESULT_KEYS, TYPE_INT32, nullptr, 0, true, {-1,0,0}, 0 },
    {"request.availableCharacteristicsKeys", ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, TYPE_INT32, nullptr, 0, true, {-1,0,0}, 0 },
    // SCALER
    {"scaler.availableFormats", ANDROID_SCALER_AVAILABLE_FORMATS, TYPE_INT32, android_scaler_availableFormats_values, 7, true, {-1,0,0}, IMAGE_FORMAT },
    {"scaler.availableJpegMinDurations", ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS, TYPE_INT64, nullptr, 0, true, {-1,0,0}, 0 },
    {"scaler.availableJpegSizes", ANDROID_SCALER_AVAILABLE_JPEG_SIZES, TYPE_INT32, nullptr, 0, true, {-1,2,0}, SIZE },
    {"scaler.availableMaxDigitalZoom", ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, TYPE_FLOAT, nullptr, 0, false, {0,0,0}, 0 },
    {"scaler.availableProcessedMinDurations", ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS, TYPE_INT64, nullptr, 0, true, {-1,0,0}, 0 },
    {"scaler.availableProcessedSizes", ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES, TYPE_INT32, nullptr, 0, true, {-1,2,0}, SIZE },
    {"scaler.availableRawMinDurations", ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS, TYPE_INT64, nullptr, 0, true, {-1,0,0}, 0 },
    {"scaler.availableRawSizes", ANDROID_SCALER_AVAILABLE_RAW_SIZES, TYPE_INT32, nullptr, 0, true, {-1,2,0}, SIZE },
    {"scaler.availableInputOutputFormatsMap", ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"scaler.availableStreamConfigurations", ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS, TYPE_INT32, android_scaler_availableStreamConfigurations_values, 2, true, {-1,4,0}, STREAM_CONFIGURATION },
    {"scaler.availableMinFrameDurations", ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS, TYPE_INT64, nullptr, 0, true, {4,-1,0}, STREAM_CONFIGURATION_DURATION },
    {"scaler.availableStallDurations", ANDROID_SCALER_AVAILABLE_STALL_DURATIONS, TYPE_INT64, nullptr, 0, true, {4,-1,0}, STREAM_CONFIGURATION_DURATION },
    {"scaler.croppingType", ANDROID_SCALER_CROPPING_TYPE, TYPE_BYTE, android_scaler_croppingType_values, 2, false, {0,0,0}, 0 },
    // SENSOR
    {"sensor.referenceIlluminant1", ANDROID_SENSOR_REFERENCE_ILLUMINANT1, TYPE_BYTE, android_sensor_referenceIlluminant1_values, 19, false, {0,0,0}, 0 },
    {"sensor.referenceIlluminant2", ANDROID_SENSOR_REFERENCE_ILLUMINANT2, TYPE_BYTE, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.calibrationTransform1", ANDROID_SENSOR_CALIBRATION_TRANSFORM1, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.calibrationTransform2", ANDROID_SENSOR_CALIBRATION_TRANSFORM2, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.colorTransform1", ANDROID_SENSOR_COLOR_TRANSFORM1, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.colorTransform2", ANDROID_SENSOR_COLOR_TRANSFORM2, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.forwardMatrix1", ANDROID_SENSOR_FORWARD_MATRIX1, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.forwardMatrix2", ANDROID_SENSOR_FORWARD_MATRIX2, TYPE_RATIONAL, nullptr, 0, true, {3,3,0}, COLOR_SPACE_TRANSFORM },
    {"sensor.baseGainFactor", ANDROID_SENSOR_BASE_GAIN_FACTOR, TYPE_RATIONAL, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.blackLevelPattern", ANDROID_SENSOR_BLACK_LEVEL_PATTERN, TYPE_INT32, nullptr, 0, true, {4,0,0}, BLACK_LEVEL_PATTERN },
    {"sensor.maxAnalogSensitivity", ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.orientation", ANDROID_SENSOR_ORIENTATION, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.profileHueSatMapDimensions", ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS, TYPE_INT32, nullptr, 0, true, {3,0,0}, 0 },
    {"sensor.availableTestPatternModes", ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES, TYPE_INT32, android_sensor_testPatternMode_values, 6, true, {-1,0,0}, 0 },
    {"sensor.info.activeArraySize", ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE, TYPE_INT32, nullptr, 0, true, {4,0,0}, RECTANGLE },
    {"sensor.info.sensitivityRange", ANDROID_SENSOR_INFO_SENSITIVITY_RANGE, TYPE_INT32, nullptr, 0, true, {2,0,0}, RANGE_INT },
    {"sensor.info.colorFilterArrangement", ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT, TYPE_BYTE, android_sensor_info_colorFilterArrangement_values, 5, false, {0,0,0}, 0 },
    {"sensor.info.exposureTimeRange", ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE, TYPE_INT64, nullptr, 0, true, {2,0,0}, RANGE_LONG },
    {"sensor.info.maxFrameDuration", ANDROID_SENSOR_INFO_MAX_FRAME_DURATION, TYPE_INT64, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.info.physicalSize", ANDROID_SENSOR_INFO_PHYSICAL_SIZE, TYPE_FLOAT, nullptr, 0, true, {2,0,0}, SIZE_F },
    {"sensor.info.pixelArraySize", ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE, TYPE_INT32, nullptr, 0, true, {2,0,0}, SIZE },
    {"sensor.info.whiteLevel", ANDROID_SENSOR_INFO_WHITE_LEVEL, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"sensor.info.timestampSource", ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE, TYPE_BYTE, android_sensor_info_timestampSource_values, 2, false, {0,0,0}, 0 },
    {"sensor.info.lensShadingApplied", ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED, TYPE_BYTE, android_sensor_info_lensShadingApplied_values, 2, false, {0,0,0}, 0 },
    {"sensor.info.preCorrectionActiveArraySize", ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE, TYPE_INT32, nullptr, 0, true, {4,0,0}, RECTANGLE },
    // SHADING
    {"shading.availableModes", ANDROID_SHADING_AVAILABLE_MODES, TYPE_BYTE, android_shading_mode_values, 3, true, {-1,0,0}, ENUM_LIST },
    // STATISTICS
    {"statistics.info.availableFaceDetectModes", ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES, TYPE_BYTE, android_statistics_faceDetectMode_values, 3, true, {-1,0,0}, ENUM_LIST },
    {"statistics.info.histogramBucketCount", ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"statistics.info.maxFaceCount", ANDROID_STATISTICS_INFO_MAX_FACE_COUNT, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"statistics.info.maxHistogramCount", ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"statistics.info.maxSharpnessMapValue", ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"statistics.info.sharpnessMapSize", ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE, TYPE_INT32, nullptr, 0, true, {2,0,0}, SIZE },
    {"statistics.info.availableHotPixelMapModes", ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES, TYPE_BYTE, android_statistics_hotPixelMapMode_values, 2, true, {-1,0,0}, BOOLEAN },
    {"statistics.info.availableLensShadingMapModes", ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES, TYPE_BYTE, android_statistics_lensShadingMapMode_values, 2, true, {-1,0,0}, ENUM_LIST },
    // TONEMAP
    {"tonemap.maxCurvePoints", ANDROID_TONEMAP_MAX_CURVE_POINTS, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"tonemap.availableToneMapModes", ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES, TYPE_BYTE, android_tonemap_mode_values, 5, true, {-1,0,0}, ENUM_LIST },
    // LED
    {"led.availableLeds", ANDROID_LED_AVAILABLE_LEDS, TYPE_BYTE, android_led_availableLeds_values, 1, true, {-1,0,0}, 0 },
    // INFO
    {"info.supportedHardwareLevel", ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL, TYPE_BYTE, android_info_supportedHardwareLevel_values, 3, false, {0,0,0}, 0 },
    // BLACK_LEVEL
    // SYNC
    {"sync.maxLatency", ANDROID_SYNC_MAX_LATENCY, TYPE_INT32, android_sync_maxLatency_values, 2, false, {0,0,0}, 0 },
    // REPROCESS
    {"reprocess.maxCaptureStall", ANDROID_REPROCESS_MAX_CAPTURE_STALL, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    // DEPTH
    {"depth.maxDepthSamples", ANDROID_DEPTH_MAX_DEPTH_SAMPLES, TYPE_INT32, nullptr, 0, false, {0,0,0}, 0 },
    {"depth.availableDepthStreamConfigurations", ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS, TYPE_INT32, android_depth_availableDepthStreamConfigurations_values, 2, true, {-1,4,0}, STREAM_CONFIGURATION },
    {"depth.availableDepthMinFrameDurations", ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS, TYPE_INT64, nullptr, 0, true, {4,-1,0}, STREAM_CONFIGURATION_DURATION },
    {"depth.availableDepthStallDurations", ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS, TYPE_INT64, nullptr, 0, true, {4,-1,0}, STREAM_CONFIGURATION_DURATION },
    {"depth.depthIsExclusive", ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE, TYPE_BYTE, android_depth_depthIsExclusive_values, 2, false, {0,0,0}, 0 },
};

#define STATIC_TAGS_TABLE_SIZE 110

